home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-iiir-vision-00.txt < prev    next >
Text File  |  1993-03-26  |  24KB  |  447 lines

  1. IETF IIIR Working Group                        Chris Weider
  2. INTERNET--DRAFT                         Merit Network, Inc.
  3.                                    Peter Deutsch
  4.                                     Bunyip, Inc.
  5.                                  March, 1993
  6.  
  7.     A Vision of an Integrated Internet Information Service
  8.  
  9. Status of this Memo
  10.  
  11. In this paper, the authors put forth their vision of an integrated Internet
  12. information service which ties together the information services currently
  13. deployed and allows them to work together.
  14.  
  15.     This document is an Internet Draft.  Internet Drafts are working
  16.         documents of the Internet Engineering Task Force (IETF), its Areas,
  17.         and its Working Groups.  Note that other groups may also distribute
  18.         working documents as Internet Drafts.
  19.  
  20.         Internet Drafts are draft documents valid for a maximum of six
  21.         months. Internet Drafts may be updated, replaced, or obsoleted
  22.         by other documents at any time. It is not appropriate to use 
  23.         Internet Drafts as reference material or to cite them other than
  24.         as a "working draft" or "work in progress."
  25.  
  26.         Please check the I-D abstract listing contained in each Internet
  27.         Draft directory to learn the current status of this or any 
  28.         other Internet Draft.
  29.  
  30.     This Internet Draft expires October 1, 1993.
  31.  
  32. Abstract
  33.  
  34. This paper lays out a vision of how Internet information services might
  35. be integrated over the next few years, and discusses in some detail what 
  36. steps will be needed to achieve this integration.
  37.  
  38. 0: Acknowledgements
  39.  
  40. Thanks to the whole gang of information service wonks who have
  41. wrangled with us about the future of information services in countless bar bofs
  42. (in no particular order): Cliff Lynch, Cliff Newman, Alan Emtage, 
  43. Jim Fullton, Joan Gargano, Mike Schwartz, John Kunze, Janet Vratny,
  44. Mark McCahill, Tim Berners-Lee, John Curran, Jill Foster, and many others. 
  45. Extra special thanks to George Brett of CNIDR and Anders Gillner of
  46. RARE, who have given us the opportunity to start tying together the
  47. networking community and the librarian community.
  48.  
  49. 1: Introduction
  50.  
  51. The current landscape in information tools is much the same as the landscape
  52. in communications networks in the early 1980's.  In the early 80's, there
  53. were a number of proprietary networking protocols that connected large
  54. but autonomous regions of computers, and it was difficult to coalesce these 
  55. regions into a unified network. Today, we have a number of large but 
  56. autonomous regions of networked information.  We have a vast set of FTPable
  57. files, a budding WAIS network, a budding GOPHER network, a budding World Wide
  58. Web network, etc.  Although there are a number of gateways between various
  59. protocols, and information service providers are starting to use GOPHER
  60. to provide a glue between various services, we are not yet in that golden
  61. age when all human information is at our fingertips. (And we're even farther
  62. from that platinum age when the computer knows what we're looking for and
  63. retrieves it before we even touch the keyboard.)
  64.  
  65.  
  66. IIIR Working Group     Vision of Information Services         Weider, Deutsch
  67.  
  68. In this paper, we'll propose one possible vision of the information services
  69. landscape of the near future, and lay out a plan to get us there from here.
  70.  
  71. 2: Axioms of information services
  72.  
  73. There are a number of unspoken assumptions that we've used in our discussions.
  74. It might be useful to lay them out explicitly before we start our exploration.
  75.  
  76. The first is that there is no _unique_ information protocol that will 
  77. provide the flexibility, scale, responsiveness, worldview, and mix of services
  78. that every information consumer wants.  A protocol designed to give quick and
  79. meaningful access to a collection of stock prices might look functionally
  80. very different from one which will search digitized music for a particular
  81. musical phrase and deliver it to your workstation. So, rather than design the 
  82. information protocol to end all information protocols, we will always need to 
  83. integrate new search engines, new clients, and new delivery paradigms into our
  84. grand information service. 
  85.  
  86. The second is that distributed systems are a better solution to large-scale
  87. information systems than centralized systems.  If one million people are
  88. publishing electronic papers to the net, should they all have to log on to 
  89. a single machine to modify the central archives? What kind of bandwidth 
  90. would be required to that central machine to serve a billion papers a day?
  91. If we replicate the central archives, what sort of maintenance problems would 
  92. be encountered? These questions and a host of others make it seem more
  93. profitable at the moment to investigate distributed systems.
  94.  
  95. The third is that users don't want to be bothered with the details of the
  96. underlying protocols used to provide a given service. Just as most people
  97. don't care whether their e-mail message gets split up into 20 packets
  98. and routed through Tokyo to get to its destination, information service
  99. users don't care whether the GOPHER server used telnet to get to
  100. a WAIS database back-ended by an SQL database.  They just want the information.
  101. Also, they care very much about how they interact with the client; they just
  102. don't want to know what goes on behind.
  103.  
  104. These axioms force us to look at solutions which are distributed, support
  105. multiple access paradigms, and allow information about resources to be
  106. handed off from one system (say Gopher) to another (say WWW).
  107.  
  108. 3: An architecture to provide interoperability and integration.
  109.  
  110. The basic architecture outlined in this paper splits up into 4 levels [Fig. 1].
  111.  
  112. At the lowest level, we have the resources themselves. These are such things
  113. as files, telnet sessions, online library catalogs, etc. Each resource can
  114. have a resource transponder attached [Weider 93], and should have a 
  115. Uniform Resource Name (URN) associated with it to uniquely identify its
  116. contents. If a resource transponder is attached, it will help maintain
  117. the information required by the next level up.
  118.  
  119. At the next level, we have a 'directory service' that takes a URN and
  120. returns Uniform Resource Locators (URLs) [Berners-Lee 92] for that resource. 
  121. The URL is a string which contains location information, and can be used by 
  122. a client to access the resource pointed to by the URL.  It is expected that
  123. a given resource may be replicated many times across the net, and thus the
  124. client would get a number of URLs for a given resource, and could choose
  125. between them based on some other criteria.
  126.  
  127.  
  128.  
  129. IIIR Working Group    Vision of Information Service         Weider, Deutsch
  130.  
  131.  
  132.       ______________________________________________________________
  133.      |             |            |          |               |
  134.      |              |            |         |               |
  135.      |  Gopher      |  WAIS      | WWW      | Archie     | Others ...
  136.      |           |        |    |        |
  137.      |___________|______________|_______|_______________|___________
  138.           |                                |
  139.           |                       _________|____________
  140.           |                      |                      |
  141.           |                      | Resource Discovery   |
  142.           |                      |  System (perhaps     |
  143.           |                      |  based on whois++)   |
  144.           |                      |______________________|
  145.           |                                |      
  146.           |                                |
  147.      _____|________________________________|____
  148.     |                        |
  149.     | Uniform resource name to uniform resource |
  150.     | locator mapping system (perhaps based on  |
  151.     | whois++ or X.500)                |
  152.     |___________________________________________|
  153.                         |
  154.                         |
  155.         ________________|______________________________________
  156.         |                  |                 |                 |
  157.   ______|______     _______|_____      ______|______     ______|______
  158.  |             |   |             |    |             |   |             |
  159.  | Transponder |   | Transponder |    | Transponder |   | Transponder |
  160.  |_____________|   |_____________|    |_____________|   |_____________|
  161.  |             |   |             |    |             |   |             |
  162.  |             |   |             |    |             |   |             |
  163.  |             |   |             |    |             |   |             |
  164.  |  Resource   |   |  Resource   |    |  Resource   |   |  Resource   |
  165.  |             |   |             |    |             |   |             |
  166.  |             |   |             |    |             |   |             |
  167.  |_____________|   |_____________|    |_____________|   |_____________|
  168.  
  169.  
  170.     Figure 1: Proposed architecture of an integrated information
  171.             service
  172.  
  173. _______________________________________________________________________________
  174.  
  175. The third level of the architecture is a resource discovery system. This
  176. would be a large, distributed system which would accept search criteria
  177. and return URNs and associated information for every resource which matched
  178. the criteria. This would provide a set of URLs which the information service
  179. providers (GOPHER servers, etc) could then select among for incorporation.
  180.  
  181. The fourth level of the architecture is comprised of the various information
  182. delivery tools.  These tools are responsible for collating pointers to
  183. resources, informing the user about the resources to which they contain 
  184. pointers, and retrieving the resources when the user wishes. 
  185.  
  186. Let's take a look in greater detail at each of these levels.
  187.  
  188.  
  189.  
  190. IIIR Working Group    Vision of Information Service         Weider, Deutsch
  191.  
  192.  
  193. 3.1 Resource layer
  194.  
  195. The resources at this layer can be any collection of data a publisher
  196. wishes to catalog. It might be an individual text file, a WAIS database,
  197. the starting point for a hypertext web, or anything else. Each resource
  198. is assigned a URN by the publisher, and the URL is derived from the
  199. current location of the resource. The transponder is responsible for 
  200. updating levels 2 and 3 with the appropriate information as the resource
  201. is published and moves around.
  202.  
  203. 3.2 URN -> URL mapping
  204.  
  205. This level takes a URN and returns a number of URLs for the various 
  206. instantiations of that resource on the net.  It will also maintain the URN
  207. space. Thus the only functionality required of this level is the ability
  208. to maintain a global namespace and to provide mappings from that namespace
  209. to the URLs. Consequently, any of the distributed 'directory service'
  210. protocols would allow us to provide that service. However, there may be some
  211. benefit to collapsing levels 2 and 3 onto the same software, in which case
  212. we may need to select the underlying protocol more carefully. For example,
  213. X.500 provides exactly the functionality required by level 2, but does not 
  214. (yet) have the functionality required to provide the level 3 service.
  215. In addition, the service at level 2 does not necessarily have to be
  216. provided by a monolithic system. It can be provided by any collection of
  217. protocols which can jointly satisfy the requirements and also interoperate,
  218. so that level 2 does appear to level 3 to be universal in scope.
  219.  
  220. 3.3 Resource discovery
  221.  
  222. This is the level which requires the most work, and where the greatest 
  223. traps lurk to entangle the unwary. This level needs to serve as a giant
  224. repository of all information about every publication, except for that which
  225. is required for the URI -> URL mapping. Since this part is the least filled 
  226. in at the moment, we will propose a mechanism which may or may not be the
  227. one which is eventually used. 
  228.  
  229. When a new resource is created on the network, it is assigned a URN determined
  230. by the publisher of the resource. Section 4.1 discusses in more detail the
  231. role of the publisher on the net, but at the moment we can consider only 2
  232. of the publisher's functions. The publisher is responsible for assigning a
  233. URN out of the publishers namespace, and is responsible for notifying a
  234. publishing agent [Deutsch 92] that a new resource has been created; that 
  235. agent will either be a part of the resource location service or will then
  236. take the responsibility for notifying an external resource location service
  237. that the resource has been created. Alternatively, the agent can use the
  238. resource location service to find parts of the RLS which should be notified 
  239. that this resource has been created.
  240.  
  241. To give a concrete example, let's say that Peter and Chris publish a multi-
  242. media document titled 'Chris and Peter's Bogus Journey' which talks about
  243. our recent trip to the Antarctic, complete with video clips. P & C would then
  244. ask their publishing agent to generate a URN for this document. They then ask
  245. their publishing agent to attach a transponder to the document, and to
  246. look around and see if anyone a) has asked that our agent notify them whenever
  247. anything we write comes out; or b) is running any kind of server of 'trips
  248. to Antarctica'. Janet has posted a request that she be notified, so the agent
  249. tells her that a new resource has been created. The agent also finds 3 
  250.  
  251.  
  252. IIIR Working Group    Vision of Information Service         Weider, Deutsch
  253.  
  254.  
  255. servers which archive video clips of Antarctica, so the agent notifies
  256. all three that a new resource on Antarctica has come out, and gives out the
  257. URN and a URL for the local copy.
  258.  
  259. 3.4 Information delivery tools
  260.  
  261. One of the primary functions of an information delivery tool is to collect
  262. and collate pointers to resources. A given tool may provide mechanisms to
  263. group those pointers based on other information about the resource, e.g.
  264. a full-text index allows one to group pointers to resources based on their
  265. contents; archie can group pointers based on filenames, etc. The URLs which
  266. are being standardized in the IETF are directly based on the way World Wide
  267. Web built pointers to resources, by creating a uniform way to specify 
  268. access information and location for a resource on the net. With just the 
  269. URLs, however, it is impossible without much more extensive checking
  270. to tell whether two resources with different URLs have the same intellectual
  271. content or not. Consequently, the URN is designed to solve this problem.
  272.  
  273. In this architecture, the pointers that a given information delivery tool
  274. would keep to a resource will be a URN and one or more cached URLs. When
  275. a pointer to a resource is first required (i.e. when a new resource is 
  276. linked in a Gopher server), level 2 will provide a set of URLs for that
  277. URN, and the creator of the tool can then select which of those will
  278. be used. As it is expected that the URLs will eventually become stale
  279. (the resource moves, the machine goes down, etc) the URN can be used
  280. to get a set of current URLs for the resource and an appropriate one can 
  281. then be selected. Since the cost of using the level 2 service is probably
  282. greater than the cost of simply resolving a URL, both the URN and the URL
  283. are cached to provide speedy access unless something has moved.
  284.  
  285. 3.5 Using the architecture to provide interoperability between services
  286.  
  287. In the simplest sense, each interaction that we have with an information
  288. delivery service does one of two things: it either causes a pointer to
  289. be resolved (a file to be retrieved, a telnet session to be initiated, etc.)
  290. or causes some set of the pointers available in the information service to
  291. be selected. At this level, the architecture outlined above provides the
  292. core implementation of interoperability. Once we have a means of mapping
  293. between names and pointers, and we have a standard method of specifying
  294. names and pointers, the interoperation problem becomes one of simply handing
  295. names and pointers around between systems. Obviously with such a simplistic
  296. interoperability scheme much of the flavor and functionality of the
  297. various systems are lost in transition. But, given the pointers, a system
  298. can either a) present them to the user with no additional functionality or
  299. b) resolve the pointers, examine the resources, and then run algorithms
  300. designed to tie these resources together into a structure appropriate for
  301. the current service. Let's look at one example (which just happens to be the
  302. easiest to resolve); interoperation between World Wide Web and Gopher.
  303.  
  304. Displaying a Gopher screen as a WWW document is trivial with these pointers.
  305. Every Gopher screen is simply a list of menu items with pointers behind them
  306. (we'll ignore the other functionality Gopher provides for a moment), so is
  307. an extremely simple form of a hypertext document. Consequently with this
  308. architecture it is easy to show and resolve a Gopher screen in WWW.
  309. For a WWW to Gopher map, the simplest method would be that when one accesses
  310. a WWW document, all the the pointers associated with links off to other
  311. documents are brought in with the document. Gopher could then resolve
  312. the links and read the first line of each document to provide a Gopher 
  313. style screen which contains everything in the WWW document. When a link
  314.  
  315.  
  316. IIIR Working Group    Vision of Information Service         Weider, Deutsch
  317.  
  318.  
  319. is selected, all of the WWW links for the new document are brought in and
  320. the process repeats. Obviously we're losing a lot with the WWW -> Gopher 
  321. mapping; some might argue that we are losing everything. However, this
  322. does provide a trivial interoperability capacity, and one can argue that
  323. the 'information content' has been preserved across the gateway. 
  324.  
  325. In addition, the whole purpose of gatewaying is to provide access to resources
  326. that lie outside the reach of your current client. Since all resources are
  327. identifiable and accessable through layers 2 and 3, it will be easy to
  328. copy resources from one protocol to another since all we need to do is to
  329. move the pointers and reexpress the relationships between the pointers in the
  330. new paradigm.
  331.  
  332. 4: Human Interactions with the architecture.
  333.  
  334. In this section we will look at how humans might interact with an information
  335. system based on the above architecture.
  336.  
  337. 4.1 Publishing in this architecture
  338.  
  339. When we speak of publishing in this section, we are referring only to the
  340. limited process of creating a resource on the net, assigning it a URN, and
  341. spreading the information around that we have created a new resource.
  342.  
  343. We start with the creation of a resource. Simple enough; a creative thought,
  344. a couple of hours typing, and a few cups of coffee and we have a new resource.
  345. We then wish to assign it a URN. We can talk to whichever publishing agent 
  346. we would like; whether it is our own personal publishing agent or some big
  347. organization that provides URN and announcement services to a large number of
  348. authors.  Once we have a URN, we can provide the publishing agent with 
  349. a URL for our local copy of the resource and then let it do its thing.
  350. Alternatively, we can attach a transponder to the resource, let it determine
  351. a local URL for the resource, and let it contact the publishing agent and
  352. set up the announcement process. One would expect a publishing agent to
  353. prompt us for some information as to where it should announce our new resource.
  354. For example, we may just wish a local announcement, so that only people 
  355. in our company can get a pointer to the resource. Or we may wish some sort of
  356. global announcement (but it will probably cost us a bit of money!) 
  357.  
  358. Once the announcement has been made, the publishing agent will be contacted
  359. by a number of pieces of the resource location system. For example, someone
  360. running a WAIS server may decide to add the resource to their index. So
  361. they can retrieve the resource, index it, and add the indexes to their tables
  362. along with a URI - URL combination. Then when someone uses that WAIS server,
  363. it can go off and retrieve the resource if necessary. Or, the WAIS server
  364. could create a local copy of the resource; if it wished other people to
  365. find their local copy of the resource, it could provide the URI -> URL 
  366. mapper with a URL for the local copy. In any case, publication becomes a 
  367. simple matter.
  368.  
  369. So, where does this leave the traditional publisher? Well, there are a number
  370. of other functions which the traditional publisher provides. There are
  371. editorial services, layout and design, copyright negotiations, marketing,
  372. etc.  The only part of the traditional role that this system usurps is that 
  373. of the distribution of the resource. All of the other functions could still
  374. be provided by an electronic publisher; in fact one idea might be that the
  375. publisher itself assigns the URN for the resource and then provides a URL
  376. which points to some subscription mechanism or charging mechanism, which will
  377. interrogate the user for billing information and then provide the resource.
  378.  
  379.  
  380. IIIR Working Group    Vision of Information Service         Weider, Deutsch
  381.  
  382.  
  383. Although copying of resources would be possible just as it is in paper format,
  384. it might be easier to detect republication of the resource in this system, and
  385. if most people use the original URN for the resource, there may be a reduced
  386. monetary risk to the publisher. 
  387.  
  388. 4.2 A librarian role in this architecture
  389.  
  390. We've been in a number of discussions with librarians over the past year,
  391. and one question that we're frequently asked is "Does Peter talk this rapidly
  392. all the time?". The answer to that question is "Yes". But another question
  393. we are frequently asked is "If all these electronic resources are going to
  394. be created, supplanting books and journals, what's left for the librarians?".
  395. The answer to that is slightly more complex, but just as straightforward.
  396. Librarians have excelled at obtaining resources, classifying them so that
  397. users can find them, weeding out resources that don't serve their communities,
  398. and helping users navigate the library itself. None of these roles are 
  399. supplanted by this architecture. The only differences are that instead of
  400. scanning publisher's announcements for new resources their users might be
  401. interested in, they will have to scan the announcements on the net. 
  402. Once they see something interesting, they can retrieve it (perhaps buying
  403. a copy just as they do now), classify it, set up a navigation system for
  404. their classification scheme, show users how to use it, and provide pointers
  405. (or actual copies) of the resource to their users. The classification and
  406. selection processes in particular are services which will be badly needed
  407. on a net with a million new 'publications' a day, and many will be willing
  408. to pay for this highly value added service.
  409.  
  410. 4.3 Serving the users
  411.  
  412. This architecture allows users to see the vast collection of networked
  413. resources in ways both familiar and unfamiliar. Bookstores, record shops,
  414. and libraries can all be constructed on top of this architecture, with a 
  415. number of different access methods. Specialty shops and research libraries
  416. can be easily built, and then tailored to a thousand different users.
  417. One never need worry that a book has been checked out, that a CD is out of 
  418. stock, that a copy of Xenophon in the original Greek isn't available locally.
  419. In fact, a user could even engage a proxy server to translate resources into
  420. forms that her machine can use, for example to get a text version of a 
  421. Postscript document although her local machine has no Postscript viewer,
  422. or to obtain a translation of a sociology paper written in Chinese.
  423.  
  424. In any case, however the system looks in three, five, or fifty years, we
  425. believe that the vision we've laid out above has the flexibility and
  426. functionality to start tying everything together without forcing everyone
  427. to use the same access methods or to look at the net the same way. 
  428. It allows new views to evolve, new resources to be created out of old,
  429. and for people to move from today to tomorrow with all the comforts of
  430. home but all the excitement of exploring a new world.
  431.  
  432. 5: References
  433.  
  434.  
  435. Berners-Lee, Tim, Universal Resource Locators, November, 1992. Available
  436.  at info.cern.ch:/pub/www/doc/url.txt for anonymous FTP.
  437.  
  438. Deutsch, Peter, Master's Thesis, June 1992. Available at 
  439.    archives.cc.mcgill.ca:/pub/peterd/peterd.thesis for anonymous FTP.
  440.  
  441. Weider, Chris, Resource Transponders, March, 1993. Available at
  442.   nic.merit.edu:documents/internet-drafts/draft-ietf-iiir-transponders-00.txt
  443.   for anonymous FTP.
  444.  
  445.  
  446.  
  447.